package main

import "fmt"

//匿名函数(没有名字的函数,一般用在函数内部)
//  1.将匿名函数作为另一个函数的参数,即回调函数
//  2.将匿名函数作为另一个函数的返回值,即闭包函数
//格式
//func (){}()
var f1 = func(x, y int) {
	fmt.Println(x + y)
}

func main() {
	//函数内部没有办法声明带名字的函数,例如
	//func f6()  {
	//}
	//带参数的匿名函数(将匿名函数的值给f2)
	f1(1, 4)
	f2 := func(z, b int) {
		fmt.Println(z + b)
	}
	f2(1, 2)
	//如果只是调用一次的函数，,还可以简写成立即执行函数
	func(s, b int) {
		fmt.Println(s + b)
		fmt.Println("hello")
	}(2, 3) //匿名函数调用,将结果给res2
}
